package done.normal_901_1000;

import org.junit.Test;

import static com.study.util.LogUtil.info;

/**
 * 991. Broken Calculator 坏了的计算器
 * <p>
 * 在显示着数字的坏计算器上，我们可以执行以下两种操作：
 * <p>
 * 双倍（Double）：将显示屏上的数字乘 2；
 * 递减（Decrement）：将显示屏上的数字减 1 。
 * 最初，计算器显示数字 X。
 * 返回显示数字 Y 所需的最小操作数。
 * <p>
 * 示例 1：
 * 输入：X = 2, Y = 3
 * 输出：2
 * 解释：先进行双倍运算，然后再进行递减运算 {2 -> 4 -> 3}.
 * <p>
 * 2019-05-18 13:30
 **/
@SuppressWarnings("all")
public class BrokenCalculator {

    public int brokenCalc(int X, int Y) {
        // 190518 first
        return -1;
    }

    @Test
    public void test() {
        info(brokenCalc(2, 3));
    }
}





































/*
public int brokenCalc(int X, int Y) {
    int result = 0;
    while (X < Y) {
        if (Y % 2 == 0) {
            Y /= 2;
            result++;
        } else {
            Y = (Y + 1) / 2;
            result += 2;
        }
    }
    return result + X - Y;
}
*/
